Event drivable n x m programmably interconnecting sound mixing device and method for use thereof

ABSTRACT

An event-drivable and programmable matrix that permits reconfigurable mixing of a first plurality of audio sources into a second audio outputs via digital control of analog-only signal paths is disclosed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to systems and methods formixing audio signals and more specifically to an event-drivable matrixthat permits reconfigurable mixing N audio sources into M audio outputsvia programming.

2. Description of the Related Art

It is known that audio recordings, including movie soundtracks arerecorded on a plurality of channels and mixed together post productionto produce the final sound track. It is also known to perform “dubbing”. . . a process by which voices of actors or other audio information maybe replaced in the soundtrack subsequent to the original shooting. Thismay involve a substitution of voices of the actors shown in the videoportion of the media program by different performers speaking adifferent language, or the same performers in the same language, butwith altered dialog or replace substandard production recorded dialog.This is known as automated dialog replacement or additional dialoguerecording (ADR). Music may also be dubbed into the media program afterediting is completed.

In typical film production, a production sound mixer records dialogueduring filming.

Undesirable noise from the recording process (from equipment, traffic,wind, and the overall ambiance of the surrounding environment) can causeundesirable sound for the end product. These problems can be solved witha post production process in which a supervising sound editor or ADRsupervisor reviews all of the dialogue in the film and decides whichlines will have to be re-recorded. ADR is also used to change theoriginal lines recorded on set in order to clarify context, or toimprove the actor's diction and timing.

For animation such as computer-generated imagery or animated cartoons,dialogue can be recorded in advance or to a pre-edited version of theshow. Although the characters' voices are recorded in a studio, ADR maystill necessary if members of the cast cannot all be present at once, orif dialog changes are necessary.

ADR is recorded during an ADR session, which takes place in an ADR soundstudio. The actor, usually the original actor from the set, may be shownthe scene in question along with the original sound, following which heor she attempts to recreate the performance as closely as possible. Overthe course of multiple re-takes the actor may repeatedly perform thelines while watching or listening to the scene, and the most suitabletake will make it to the final version of the scene.

This process is time consuming and involves a lot of activity that canoverload the person operating as the ADR mixer. And if the ADR mixerrequires excessive time to set up, queue, and record the retakes, theperformers can lose the flow of the dialog and/or become irritated withthe post production process. Also, all of the individuals and equipmentinvolved in the ADR process can be expensive, particularly the actorsand producers. What is needed is a system that reduces the load on theADR mixer and allows the ADR process to be completed rapidly, yetproviding each of the players (the ADR mixer, the performer(s), thesound editor(s) and the producer(s) the information they desire.

Typical ADR systems of today are also limited in what they canaccomplish. For example, an ADR system may provide a particular actorwith portions or all of the sound track that is temporally before thepoint where the new dialog is to be included (ahead), while the dialogis to be included (in) or after where the new dialog is to be included(past). If the ahead portion of the sound track includes street noiseand ambience, and the new portion of the sound track does not, theresult would be that the performer would hear what could hear their ownvoice during the “in” portion of the sound track, but with suchsubstantially different ambience or background noise so as to startlethe performer. While it may be possible to solve this problem byeliminating ambience and street noise from all portions of the soundtrack (ahead, in and past), this would deny the performer with ambienceinformation that may contribute to the performance. What is needed is asystem that permits special effects such as ambience to be included intosound outputs that are provided to the actors and other participants forqueuing purposes.

It is also desirable for the ADR mixer to be able to communicate theoutput of the ADR/mixing process to remotely located persons at or nearreal time, thus allowing someone at a remote location to judge thequality of the ADR process or mix.

The present invention satisfies these needs.

SUMMARY OF THE INVENTION

To address the requirements described above, the present inventiondiscloses a sound mixing apparatus and method for using same. In oneembodiment, the apparatus comprises an event-driven matrix programmablyinterconnecting a first plurality of audio sources to a second pluralityof audio outputs according to events. The matrix comprises a controlmodule, for accepting user input comprising event controls, signalrouting commands, and signal level commands and for generating controlmodule commands according to the event controls and analog signalrouting commands, a plurality of audio modules, each of the plurality ofaudio modules communicatively coupled to an associated one or more ofthe plurality of audio sources, to the control module, and to an eventgenerator providing the events, wherein each of the plurality of audiomodules comprises at least one audio module amplifier, non-digitallycoupled to the associated one or more of the plurality of audio sourcesand digitally controlled to provide an analog amplifier output accordingto the event controls, the signal routing commands, the signal levelcommands, and the events. The matrix also comprises a master module, forcombining each of the analog outputs according to the event controls,the signal routing commands, and the events, the master modulecommunicatively coupled to the control module and to the event generatorproviding the events, the master module comprising at least one mastermodule amplifier, non-digitally coupled to the analog outputs via anassociated one of a plurality of summers and digitally controlled toprovide the second plurality of analog outputs according to the eventcontrols, the signal routing commands, the signal level commands, andthe events.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a block diagram of on embodiment of the sound mixing device;

FIG. 2 is a diagram of an exemplary user interface for the SMD;

FIG. 3 is a functional block diagram of one embodiment of the SMD;

FIG. 4 is a more detailed view of the controls provided by the SMD;

FIG. 5 is a diagram of one embodiment of the SMD as configured forremote control post production; and

FIG. 6 is a diagram illustrating an exemplary processing system.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

FIG. 1 is a block diagram of on embodiment of the sound-mixing device(SMD) 100. The SMD 100 comprises a control module 104 that providescontrol module commands to one or more audio modules 106, a mastermodule 110 and a communication module 108 via the communications pathsindicated with dashed lines. The control module 104 also includes userinput controls further described below.

Event generator 102 provides events that are fed to modules 106, 108 and110 via dotted lines. Although events may be transmitted to any of themodules 104-110 (for example, the control module 104) and thereafter tothe remaining modules, sending the events to each of the modules viaindependent paths assures that continuous operation of the SMD 100 evenwith the failure of one of the other modules 104-110.

The SMD 100 also includes one or more audio modules 106. The one or moreaudio modules 106 are coupled to one or more of a plurality of audiosources 112, each of which can have a plurality of channels (e.g. twostereo channels or five surround sound channels).

In the illustrated embodiment, the audio modules include (1) a DIRECTaudio module that carries the signal from a performer's microphone, (2)a MONITOR audio module that carries the playback of the completedsoundtrack after the ADR process, (3) a DIALOG audio module that carriesthe dialog already recorded on the soundtrack before ADR, but not themusic or effects, (4) a MUSIC audio module that carries the musicalready recorded on the soundtrack before ADR but not the effects ordialog, (5) an EFFECTS audio module that carries sound effects alreadyrecorded on the soundtrack before ADR, but not the dialog or music. Thelevel of each of these inputs can be controlled by user controls 300.The plurality of audio modules may also include a plurality of separatereturn audio modules and a cueing beep audio module that carries beepsthat cue the performers. Each of these audio modules may comprisemultiple channels (e.g. the two stereo channels or six 5.1 surroundsound channels), as required for the audio information conveyed. Hence,each may include dedicated electronics for each channel.

The audio sources 112 may include one or more microphones, pre-recordedmaterial, beeps from the event generator 102, and/or one or more analogor digital audio reproducing devices or analogous. The output from theaudio modules 106 or channels may also be routed to be provided as aninput to another audio module 106. For example, the output of the dialogaudio module 106 may be provided to an effects processor 107, whichgenerates ambience duplicating the ambience on the recorded sound track,and that ambience may be routed as an input as an audio source into the“return” audio module. This may be implemented by external routing orpatching, if necessary.

The audio module(s) 106 accept signals from the plurality audiosource(s), selectably apply those the signals 112 to amplifiers withinthe audio modules according to commands from the control module 104, theuser routing controls described below, and events from the eventgenerator 102, gain controls (amplifies or attenuates) the signalsaccording to the gain selected by the user, and provides the selectedand gain controlled signals to each of the master module 110 forappropriate mixing.

Communications module 108 is also coupled to one or more of theplurality of audio sources 112 and also provides one or more of thesignals from the audio sources to the master module, according to userinputs.

Each of the master modules 110 combine the outputs of each of the audiomodules 106 and the communication module 108 as directed by the controlmodule 104, as further described below.

FIG. 2 is a diagram of an exemplary user interface for the SMD 100. Theuser interface 200 illustrates some controls used to operate the SMD100, including controls related to the control module 104, the pluralityof audio modules 106 (each vertical line of controls reflects one audiomodule such as audio module 106A), the master module 110, andcommunication module 108. Reference to these controls will be madefurther below with respect to FIG. 3.

FIG. 3 is a functional block diagram of one embodiment of the SMD 100.The SMD 100 receives event information from the event generator 102.These events are places temporally disposed within the sound trackrecording where it is desired to alter or place new dialog or otherinformation into the sound track. The events can be defined by time, byframe, or combination of time and frames. For example, if 20:42 and 5frames after the beginning of a sound track, it is desired to change thedialog from “to be or not to be” to “doobie-doobie-doo,” the eventgenerator may provide an event at the indicated time. Multiple eventscorresponding to other places where dialog may be changed, added orsubtracted may also be provided to the SMD 100. In the illustratedembodiment, events are provided from the event generator 102 to each ofthe control module 104, one or more audio modules 106, one or moremaster modules 110 and the communication module, via each module'srespective micro controller 302, 320, 340 and 360. This permits the SMD100 to operate even if one of the modules 104-110 becomes inoperative.Alternatively or in addition to this topology, the events may beprovided to one of the modules 104-110 and thereafter provided to theothers via one or more of the busses illustrated in FIG. 3.

The control module 104 has a plurality of data source switches or userevent controls 308A and 308B and faders 310, which may bepotentiometers, as well as data source communication switches 312. Thecontrol module microcontroller 302 generates control module commandsaccording to the state of user controls 308A, 308B, 310, 312, and 313and provides them to the bus. The control module commands are generatedin accordance with microcontroller programming that can be implementedin a memory resident in the microcontroller 302 or elsewhere in the SMD100. In one embodiment, this programming includes settings stored inmemory accessible to the microcontroller, specifying theinterconnections and positions of the switches described below, thuscontrolling which audio sources 112 and/or outputs 114 are combined withwhich other audio sources 112 or outputs 114 to provide the soundtrack.The programming can also specify the mapping relationship betweenpotentiometer switch settings and commands to analog components. Thecontrol module commands are provided from the control module 104 toaudio module(s) 106, the master module(s) 110, and the communicationmodule 108. These control module commands command those modules tointerconnect indicated audio sources 112 to the desired amplifierswithin the other of the modules as described further below.

The control module 104 also includes an optional display 306, which mayindicate the gain (for example in dB) of any audio channel in the systemvia the setting of any of the potentiometers or faders. For example, inone embodiment, when the user adjusts the gain of any fader orpotentiometer in either the audio module 112, the master module 110, orthe control module 104, the microcontroller associated with that moduletransmits information back to the control microcontroller 302 indicatingthe setting of the fader, and that information is presented on thedisplay 306. The display may also comprise an light emitting diode (LED)or cathode ray tube (CRT) display that presents a graphicalrepresentation of which audio sources 112 are coupled together to formeach of the communications module 108 routing outputs using currentcommunication microcontroller 360 programming and table 362 settings, aswell as the settings of and related tables of other microcontrollers320, 340 and 360 in the system. This can be accomplished because thecontrol module 104 has access to the resources of the communicationmodule 108, and can therefore obtain the required information andreceiving user input from other devices such as a mouse and keyboardshown in the communication module 108.

The audio modules 106 each include a audio module microcontroller 320that is communicatively coupled to the control microcontroller 104 via abus such as an I2C bus to receive control module commands responsive touser input provided by input devices 308-313 and to receive events fromthe event generator 102. The audio module microcontroller 320 is alsocommunicatively coupled to user event controls such as data sourceswitches 308A. In the illustrated embodiment, these switches 308A arecoupled to the audio module microcontroller 320 directly through the busand not via the control module microcontroller 302. This design improvesthe responsiveness of the system 100, as switching commands are morequickly received and responded to. In one embodiment, three AIP switches308 are provided: an “ahead” switch, an “in” switch and a “past” switch.Selection of the “ahead” switch commands the audio modulemicrocontroller 320 to present the audio source 112 coupled to the audiomodule 106 before an event from the event generator 102 occurs, whileselection of the “in” and “after” switch commands the audio modulemicrocontroller to present the audio source 112 coupled to the audiomodule 106 during and after the event, respectively.

Audio source faders 310 are also coupled to the audio microcontroller320 via A/D converters 324. The A/D converters 324 digitize the voltagepresented on the potentiometers used in these faders 310, thustranslating audio module gain commands into digital user audio modulegain commands. The A/D converters 324 then provide this digital signalto the audio microcontroller 320 to provide the fader settinginformation. The audio microcontroller 320 uses the fader settinginformation to determine the setting for the audio module amplifier 330via the MDAC (multiplying digital to analog converter) controllers 326.

Hence, each of the audio module microcontrollers 320 generates digitalaudio module MDAC controller gain commands and digital audio module MDACrouting or switching commands from (1) the control module commands fromthe control module microcontroller 302 (2) the user event controls 308A,(3) the digital user audio module gain commands from the A/D converter324, (5) events from the event generator 102 and (6) programming fromthe bus and table 322. For example, the table 322 may implement alogarithmic function used to map digital commands to amplifier 330potentiometer settings.

When assembling a sound track, audio quality is of utmost importance.For that reason, the SMD 100 uses interconnected microcontrollers tocontrol the action of analog components in the signal path, but thesignal itself is not digitized or manipulated in digital form. Thereprogrammable microcontroller digital control provides the flexibilityto reconfigure the SMD 100 in a multitude of ways, while the analogsignal path provides signal integrity and prevents quantization,aliasing, time shifting and phasing distortions in the signal itself. Inthis sense, the SMD 100 is essentially a hybrid device having an analogsignal path, with analog components being digitally controlled by themicrocontrollers to permit flexibility. To implement this, each of theaudio modules 106 comprise one or more audio module MDAC controller 326(one for each channel provided by the audio module), coupled to theaudio module microcontroller 320. Each of the MDAC controllers 326accepts the digital audio module MDAC controller gain commands anddigital audio module MDAC routing or switching commands from theassociated audio module microcontroller 320, and translates thesecommands into analog audio module switching commands and analog audiomodule gain commands. The analog module gain commands are provided to anaudio module amplifier 330 to command an amplifier gain or attenuation,while the switching or routing commands are provided to an audio moduleswitch 328, which selectably couples the audio source 112 with theamplifier 330 input.

As described above, there are a plurality of audio modules 108, andthese plurality of audio modules may include a DIRECT, MONITOR, DIALOG,MUSIC, AND EFFECT module, as well as three RETURN modules, and a BEEPmodule. One or more of these modules may comprise a plurality ofchannels and hence, a plurality of MDACs 326, switches 328, amplifiers330, one for each channel. For example, the music audio module 106 maycomprise 6 independent channels for 5.1 channel surround sound. Themicrocontroller 320 handles each channel independently, appropriatelyswitching the appropriate channels of the audio sources to be amplifiedby amplifiers 332 and provided as outputs.

As described above, output(s) of selected audio module(s) 106 may beprovided as an audio source to another audio module 106, optionallyafter processing by an external processor such as effects processor 107shown in FIG. 1.

The communication module 108 comprises a communication modulemicrocontroller 360 that is communicatively coupled to the controlmodule microcontroller 302 to receive control module 103 commands and tothe event generator 102 to receive events. It is also communicativelycoupled to the communication control(s) 312, and generates digitalcommunication routing commands from the user communication commands fromthe communication controls 312, the control module commands, events fromthe event generator 102, and the programmable routing table 362. Datasource switches 364 reside at user stations (e.g. producer, controlroom, stage, editor, client) and typically provide an audio source 112such as a talkback microphone and are co-located with output devices toreproduce output 380. The digital communication routing commands areprovided to a plurality of switches 368, each coupled to at least one ofthe audio sources 112. The state of the switches 368 determines whetherthe signal from the audio source 112 is provided to the communicationsmodule amplifier 370 input. The output 372 of the communications moduleamplifier can be provided to an alternate output 380 such as a remotelydisposed station. This allows communication or transmission of the audiosource (which may include one or more of the plurality of outputs 144discussed below with a remotely disposed director or supervisor).

The SMD 100 also comprises a master module 110. The master module 110may comprise an A/D converter 344 for translating user master modulegain commands into digital user master module gain commands. The mastermodule 110 may also comprise a master module microcontroller 340communicatively coupled to the user event controls 308 to receive usercommands relative to the events, to the A/D converter 344 to receive thedigital user master module gain commands, and to the controlmicrocontroller to accept the control module commands and programming.The master module microcontroller 340 generates digital master moduleMDAC controller gain commands and master module MDAC routing orswitching commands for each output path 114 {including Foldback1 (leftand right), Foldback2 (left and right), Editor (left and right), Actor(left and right), Stage (left, center, right), Control room (left,center, right, left surround, right surround and low frequency), andEffects}, from the control module commands, events from the eventgenerator 102, the user event controls 308, the digital user mastermodule gain commands from the A/D 344, and the programming according toa programmable master module log table 342.

The master module MDAC controller 346 is communicatively coupled to themaster module microcontroller, accepts the digital master module MDACcontroller gain commands from the master module microcontroller 340,accepts the master module routing or switching commands from the mastermodule microcontroller 340 translates the digital master module MDACrouting or switching commands into analog master module switchingcommands, and translates the digital master module MDAC controller gaincommands into analog master module gain commands for each of a pluralityof master module amplifiers 350. The master module comprises at leastone master module amplifier 350 and associated switch 348 for eachchannel of output from the master module 114 (including, for example(Foldback1(L/R), Foldback2(L/R), Editor(L/R), Actor(L/R), Stage(L/C/R),Control Room(L/C/R/LS/RS/Lfe). Each master module audio amplifier 350has a gain control input for receiving the analog master module gaincommands, a master module analog amplifier signal input and a mastermodule analog output, which is coupled to one of the audio output 114.

Finally, each channel of the master module comprises a summer 352 havinga plurality of summer inputs, each communicatively coupled to one of theaudio module amplifier outputs 332 associated with the channel. Thesummer 352 generates a sum of the signals coming from the associatedaudio module 106, and since whether there is a signal appearing at theoutput of each module's amplifier is controlled by the switching orrouting commands provided by the MDAC from control module commands andevents as interpreted by each module's microprocessor, it is possiblefor the output of each master module amplifier 350 to be a selectableand controllable combination of any proportion of any of the audiosources 112, and via return paths, a processed and gain controlledversion of the output of any of the audio modules 106.

FIG. 4 is a more detailed view of the controls provided by the SMD 100.Each of the user audio source faders 310 controls the amount of aparticular audio source that is provided to the associated outputchannel 114. For example, fader 310 controls the amount of the output onthe direct audio source 112A (which may be repurposed by the user) thatis provided to foldback output 114. Further, audio source faders 310Bcontrols the gain of audio source 112A across all outputs (A-F).Accordingly, the relative gain of the output from each of the audiosources 1-9 across all outputs (A-F) can be controlled, as well as thecontribution from each audio source 1-9 to each output channel A-F.

The use of audio source faders 310B to control the overall gain of theDIRECT, MONITOR, DIALOG, MUSIC AND EFFECT modules provides the abilityfor a third party to exercise creative control over the mix of thesoundtrack without requiring that the third party be trained inoperation of the SMD 100. For example, while the ADR mixer may befamiliar with the operation of the detailed audio and mixing controlsshown, but the producer of the movie associated with the sound track maynot. The use of audio source faders 310B operating on the audio signalsfed into these modules as described above allow the producer to exercisecreative control over the relative volumes of the dialog, music andeffects in real time, whether while sitting at the SMD 100 with the ADRmixer or at a remote location like a theater as described further below.For example, the producer may be listening to the output of the MONITORaudio module, and determine that the sound effects associated with adepicted automobile crash are not loud enough. The director canameliorate this problem by simply manipulating the related audio sourcefader 310B. The director could also increase the gain in the dialogchannel, should they believe that dialog must be heard over the effects.Importantly, these adjustments may be made independently of the otherpotentiometers or faders 310A, which may remain in the control of theADR mixer.

Further, any of audio sources 1-9 may be returned (i.e. after optionalprocessing such as digital sampling and manipulation) through audiosources 6-8 (Ret1-3) and thereby provided to outputs A-F with variablegain as well. Using these settings (as programmed into themicroprocessors and their associated tables, any output from any of theaudio sources 112 can be provided in any combination to the editor,actor, stage, or control room. Further, by using the events triggeringmicroprocessor commands to the switches acting as inputs to the moduleamplifiers 332, information can be provided to the appropriate output(e.g. the actor's headphones via output D) before the event (so theactor hears what is on audio source 2 before the event where the newinformation is to be inserted) by user selection of the “ahead” switch308AA, what is on audio source 2 during the event by user selection ofthe “in” switch 308AB, and/or what is on audio source 2 after the eventby user selection of the “past” switch 308AC. As is shown in FIG. 2, butnot reproduced in FIG. 4, each of the audio module(s) 106 include anahead, in and past switch.

FIG. 4 also shows that the user switch control settings may be tied toparticular modes, which may include a rehearsal mode, a record mode, anda playback mode. In other words, the setting of switches 308 (only thoseassociated with Foldback1 A output are illustrated, but as shown in FIG.2, these switches are repeated for the other outputs B-F) may have an onor off state for each of the multiple modes, and selecting mode buttons402 may control which user switches are activated. For example, the usermay select “ahead,” “in,” and “past,” for playback, but only “ahead” and“in” via switches 308AA-308AC for rehearsal. Selecting the playbackbutton 402C before setting switches 308AA-308AC will allow themicroprocessors to store those settings for the playback mode, whileselecting the rehearsal button 402A before setting switches 308AA-308ACwill allow the microprocessors to store those settings for the rehearsalmode. The user can then go to each mode's switch settings for all of theswitches 308 by simply pressing the rehears or playback buttons 402A and402C. Transport controls 404, which may be managed by the eventgenerator 102, move the soundtrack as recorded forward or back in time,so that already recorded selections can be played back. Sampler 406 cansample any of the audio sources 1-9 or outputs and provide the sampledaudio output for digital processing. That digitally processed output canbe provided as one of the audio sources (for example, return paths 1-3)to Effects output G, Foldback1 Output A, or Foldback2 Output B. Thisfeature can be used to recreate the add ambience to one of the outputs(for instance, actors output D) so that the actor hears ambience similarto that of the already recorded soundtrack before, during or after theactor provides the new dialog. Digital sampling and re-insertion of thedigitally sampled signals can be used in other contexts as well.

Communications controls 312 may include a switch for forwarding one ormore of the audio sources 112 to an alternate output destination 380such as a client (e.g. remote client), and/or the feedback 1 or feedback2 paths, one or more of selected actors, or the entire stage.

FIG. 5 presents an embodiment in which the SMD 100 is configured toallow remotely controlled post production mixing of the soundtrack intheater environments. This allows the user 504 (who may be a producerwith little soundtrack production experience) to station themselves in amovie theater 502 or other environment that mimics the acoustics andsound system of a typical or exemplary customer premises such as a homeor movie theater, and remotely adjust soundtrack parameters whilelistening to the soundtrack in that environment using a tablet computer,smartphone or similar remote device 506. In this embodiment, the remotedevice 506 is programmed to present some or all of the controls depictedin FIG. 2 to the user 504 and allow the user 504 to control the postproduction sound mix using the capability of the remote device 506 todisplay information and accept user input. For example, if the audiosources include the monitor, dialog, music, and effects on thesoundtrack as described above, the monitor output can be provided toStage E output, amplified and presented in the theater on amulti-channel surround sound system. The extent to which that monitoroutput comprises the dialog, music, and effects channels (e.g. therelative gain of each audio source) can be remotely controlled by theuser 504 using the remote device 506 by programming the SMD 100 totransmit the setting of the sliders 310B, to accept changes in thosesettings, and to transmit the changed settings back to the SMD 100. TheSMD may then make the changes to the mix (altering the comparative gainof the dialog, music and effects content) using microcontroller 302) andprovide the soundtrack with the changes to the user 504 in the theater502. This may also be implemented by wired connection as well.

In one embodiment, the user interface 200 of the SMD 100 is modularlyconstructed of the same form factor (physical dimensions and interfaces)as standard ADR mixing components and using an I2C bus (e.g. the bussesillustrated in FIG. 3) for communications between elements. This permitsthe modular incorporation of the elements described above into astandard sound mixing system. Further, since the foregoing permits themixing of a plurality of channels together to form other channels, theSMD could be used to mix signals in for non-ADR purposes, such as wouldbe useful in small scale sound studios.

Hardware Processor Environment

FIG. 6 is a diagram illustrating an exemplary processing system 600,elements of which could be used to implement elements of the presentinvention, including the event generator and microcontrollers 300, 320,340 and 360 and remote device 606. A computer 602 comprises a generalpurpose hardware processor 604A and/or a special purpose hardwareprocessor 604B (hereinafter alternatively collectively referred to asprocessor 604) and a memory 606, such as random access memory (RAM). Thecomputer 602 may be coupled to other devices, including input/output(I/O) devices such as a keyboard 614, a mouse device 616 and a printer628.

In one embodiment, the computer 602 operates by the general purposeprocessor 604A performing instructions defined by the computer program610 under control of an operating system 608. The computer program 610and/or the operating system 608 may be stored in the memory 606 and mayinterface with the user and/or other devices to accept input andcommands and, based on such input and commands and the instructionsdefined by the computer program 610 and operating system 608 to provideoutput and results.

Output/results may be presented on the display 622 or provided toanother device for presentation or further processing or action. In oneembodiment, the display 622 comprises a liquid crystal display (LCD)having a plurality of separately addressable pixels formed by liquidcrystals. Each pixel of the display 622 changes to an opaque ortranslucent state to form a part of the image on the display in responseto the data or information generated by the processor 604 from theapplication of the instructions of the computer program 610 and/oroperating system 608 to the input and commands. Other display 622 typesalso include picture elements that change state in order to create theimage presented on the display 622. The image may be provided through agraphical user interface (GUI) module 618A. Although the GUI module 618Ais depicted as a separate module, the instructions performing the GUIfunctions can be resident or distributed in the operating system 608,the computer program 610, or implemented with special purpose memory andprocessors.

Some or all of the operations performed by the computer 602 according tothe computer program 610 instructions may be implemented in a specialpurpose processor 604B. In this embodiment, some or all of the computerprogram 610 instructions may be implemented via firmware instructionsstored in a read only memory (ROM), a programmable read only memory(PROM) or flash memory within the special purpose processor 604B or inmemory 606. The special purpose processor 604B may also be hardwiredthrough circuit design to perform some or all of the operations toimplement the present invention. Further, the special purpose processor604B may be a hybrid processor, which includes dedicated circuitry forperforming a subset of functions, and other circuits for performing moregeneral functions such as responding to computer program instructions.In one embodiment, the special purpose processor is an applicationspecific integrated circuit (ASIC).

The computer 602 may also implement a compiler 612 which allows anapplication program 610 written in a programming language such as COBOL,C++, FORTRAN, or other language to be translated into processor 604readable code. After completion, the application or computer program 610accesses and manipulates data accepted from I/O devices and stored inthe memory 606 of the computer 602 using the relationships and logicthat was generated using the compiler 612.

The computer 602 also optionally comprises an external communicationdevice such as a modem, satellite link, Ethernet card, or other devicefor accepting input from and providing output to other computers.

In one embodiment, instructions implementing the operating system 608,the computer program 610, and/or the compiler 612 are tangibly embodiedin a computer-readable medium, e.g., data storage device 620, whichcould include one or more fixed or removable data storage devices, suchas a zip drive, floppy disc drive 624, hard drive, CD-ROM drive, tapedrive, or a flash drive. Further, the operating system 608 and thecomputer program 610 are comprised of computer program instructionswhich, when accessed, read and executed by the computer 602, causes thecomputer 602 to perform the steps necessary to implement and/or use thepresent invention or to load the program of instructions into a memory,thus creating a special purpose data structure causing the computer tooperate as a specially programmed computer executing the method stepsdescribed herein. Computer program 610 and/or operating instructions mayalso be tangibly embodied in memory 606 and/or data communicationsdevices 630, thereby making a computer program product or article ofmanufacture according to the invention. As such, the terms “article ofmanufacture,” “program storage device” and “computer program product” or“computer readable storage device” as used herein are intended toencompass a computer program accessible from any computer readabledevice or media.

Of course, those skilled in the art will recognize that any combinationof the above components, or any number of different components,peripherals, and other devices, may be used with the computer 602.

Although the term “computer” is referred to herein, it is understoodthat the computer may include any device with suitable processing,communication, and input/output capability.

CONCLUSION

This concludes the description of the preferred embodiments of thepresent invention. The foregoing description of the preferred embodimentof the invention has been presented for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Many modifications andvariations are possible in light of the above teaching. It is intendedthat the scope of the invention be limited not by this detaileddescription, but rather by the claims appended hereto. The abovespecification, examples and data provide a complete description of themanufacture and use of the composition of the invention. Since manyembodiments of the invention can be made without departing from thespirit and scope of the invention, the invention resides in the claimshereinafter appended.

What is claimed is:
 1. An event-driven sound mixing apparatusprogrammably interconnecting a first plurality of audio sources to asecond plurality of audio outputs according to events, comprising: acontrol module, for accepting user input comprising event controls,signal routing commands, and signal level commands and for generatingcontrol module commands according to the event controls and analogsignal routing commands; a plurality of audio modules, each of theplurality of audio modules communicatively coupled to an associated oneor more of the plurality of audio sources, to the control module, and toan event generator providing the events, each of the plurality of audiomodules comprising: at least one audio module amplifier, non-digitallycoupled to the associated one or more of the plurality of audio sourcesand digitally controlled to provide an analog amplifier output accordingto the event controls, the signal routing commands, the signal levelcommands, and the events; master module, for combining each of theanalog outputs according to the event controls, the signal routingcommands, and the events, the master module communicatively coupled tothe control module and to the event generator providing the events,comprising: at least one master module amplifier, non-digitally coupledto the analog outputs via an associated one of a plurality of summersand digitally controlled to provide the second plurality of analogoutputs according to the event controls, the signal routing commands,the signal level commands, and the events.
 2. The apparatus of claim 1,wherein the event controls, signal routing commands control input toeach of the audio module amplifiers.
 3. The apparatus of claim 1,wherein the signal level commands control gain of each of the audiomodule amplifiers;
 4. The apparatus of claim 1, wherein the signal levelcommands are analog signal level commands and wherein each of the one ormore audio modules comprises: an A/D converter, for translating theanalog signal level commands into digital audio module gain commands; anaudio module microcontroller, communicatively coupled to the eventcontrols, to the A/D converter to receive the digital user master modulegain commands, to the control microprocessor to accept the controlmodule commands, to the event generator to accept the events, and toeach of the one or more audio module amplifiers, the analog modulemicrocontroller for generating digital audio module controller gaincommands from the digital audio module gain commands and for generatingdigital audio module routing commands from the control module commandsand the events; an audio amplifier controller, communicatively coupledto the audio module microcontroller, for accepting the digital audiomodule gain commands from the audio module microcontroller andgenerating analog audio module gain commands therefrom, for acceptingthe digital audio module routing commands from audio modulemicrocontroller and generating analog audio module switching commandstherefrom; wherein each of the audio module amplifiers comprises a gaincontrol input for receiving the analog audio module gain commands, anaudio module amplifier signal input and an audio module amplifieroutput; and at least one audio module switch for each of the pluralityof audio sources, each audio module switch for selectably coupling theanalog input signal to at least one of the audio sources according tothe analog audio module switching command;
 5. The apparatus of claim 4,wherein the audio module microcontroller generates digital audio modulecontroller gain commands from the analog audio module gain commands andfor generating digital audio module routing commands from the controlmodule commands and the events according to a communicatively coupledaudio module log table.
 6. The apparatus of claim 5, wherein each of theone or more audio modules comprises a dedicated audio module amplifierfor each channel of the audio source associated with the audio module.7. The apparatus of claim 1, wherein the plurality of audio modulesincludes at least one return module for returning at least one of theaudio module audio outputs as one of the plurality of audio sources. 8.The apparatus of claim 7, wherein the one or more audio modulescomprises: a direct audio module, for receiving a microphone input; amonitor audio module, for receiving a recorded soundtrack having dialog,music and effect content a dialog audio module, for receiving the dialogcontent of the soundtrack; a music audio module for receiving the musiccontent of the soundtrack; and an effects audio module for receiving theeffect content of the soundtrack.
 9. The apparatus of claim 1, whereinthe event controls, signal routing commands control input to each of themaster module amplifiers.
 10. The apparatus of claim 1, wherein thesignal level commands control gain of each of the master moduleamplifiers.
 11. The apparatus of claim 1, wherein the signal levelcommands are analog and the master module comprises: an A/D converter,for translating the analog signal level commands into digital mastermodule gain commands; a master module microcontroller, communicativelycoupled to the event controls, to the A/D converter to receive thedigital user master module gain commands, to the control microprocessorto accept the control module commands, to the event generator to acceptthe events, and to each of the one or more master module amplifiers, theanalog module microcontroller for generating digital master modulecontroller gain commands from the digital master module gain commandsand for generating digital master module routing commands from thecontrol module commands and the events; a master amplifier controller,communicatively coupled to the master module microcontroller, foraccepting the digital master module gain commands from the master modulemicrocontroller and generating analog master module gain commandstherefrom, for accepting the digital master module routing commands frommaster module microcontroller and generating analog master moduleswitching commands therefrom; wherein each of the master moduleamplifiers comprises a gain control input for receiving the analogmaster module gain commands, an master module amplifier signal input andan master module amplifier output; and at least one master module switchfor each of the plurality of master sources, each master module switchfor selectably coupling the analog input signal to at least one of themaster sources according to the analog master module switching command.12. The apparatus of claim 11, wherein the master module microcontrollergenerates digital master module controller gain commands from the analogmaster module gain commands and generates digital module routingcommands from the control module commands and the events according to acommunicatively coupled master module log table.
 13. The apparatus ofclaim 1, wherein at least one of the plurality of audio modulescomprises a plurality of audio amplifiers, each one of the plurality ofaudio amplifiers being dedicated to one channel of the audio sourcecommunicatively coupled to the at least one of the plurality of audiomodules.
 14. The apparatus of claim 13, wherein to master modulecomprises a summer for each channel of the audio source.
 15. Theapparatus of claim 1, further comprising: a communication module,communicatively coupled to one or more of the plurality of audiosources, to the control module, to the master module, and to the eventgenerator, the communications module for accepting control modulecommands and the events and generating digital routing commands and acommunications module audio output therefrom;
 16. The apparatus of claim15, wherein the master module comprises a second summer having a firstinput communicatively coupled to the master module amplifier and asecond input communicatively coupled to the communications module audiooutput.